package com.itheima.day12;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

public class Practice1 {
    public static void main(String[] args) {
        Collection<String> c = new ArrayList<>(); // 多态写法

        // 1.public boolean add(E e)：添加元素, 添加成功返回true。
        c.add("A");
        c.add("B");
        c.add("C");
        c.add("D");
        System.out.println("c = " + c);//[A, B, C, D]

        // 2.public void clear()：清空集合的元素。
        //c.clear();
        //System.out.println("c = " + c);//[]

        // 3.public boolean isEmpty()：判断集合是否为空 是空返回true,反之。
        System.out.println("c.isEmpty() = " + c.isEmpty());//  false

        // 4.public int size()：获取集合的大小。
        System.out.println("c.size() = " + c.size());

        // 5.public boolean contains(Object obj)：判断集合中是否包含某个元素。
        System.out.println("c.contains(\"A\") = " + c.contains("A"));//true
        System.out.println("c.contains(\"X\") = " + c.contains("X"));//false

        // 6.public boolean remove(E e)：删除某个元素:如果有多个重复元素默认删除前面的第一个！
        System.out.println("c.remove(\"A\") = " + c.remove("A"));//true
        System.out.println("c = " + c);//[B, C, D]

        // 7.public Object[] toArray()：把集合转换成数组
        Object[] objects = c.toArray();
        System.out.println("Arrays.toString(objects) = " + Arrays.toString(objects));

        //public <T> T[] toArray(T[] arr) 可以将集合转换为指定类型的数组
        String[] arr = new String[c.size()];
        String[] strings = c.toArray(arr);// T 被 String 类型指代了
        Object[] objects1 = c.toArray();
        for (String str : strings) {
            System.out.println("str = " + str);
        }
    }
}
